基于面试题的 Agent 系统开发最佳工程实践
这是一套面向中文读者的 Agent 工程学习资料。它默认读者是小白,因此会尽量按下面的顺序来组织:
- 先解释概念
- 再列出常见面试题
- 然后通过面试题提炼工程方法论
- 最后给出可落地的最佳实践、踩坑总结和 TypeScript 示例
这套资料不是单纯讲 Prompt,也不是单纯讲某个框架。它更关注一个真实可上线的 Agent 系统应该如何设计:
- 什么是
Agent,和普通 LLM / RAG / Workflow 的区别 - Agent 系统的核心组成:模型、Prompt、Planning、Memory、Tools、Skills、事件流、UI、Guardrails、Observability
- 一套完整的方法论:从需求定义到上线治理
Tools系统怎么设计Skills系统怎么设计Prompt Engineering怎么做Context Engineering怎么做Memory和RAG怎么做规划与执行系统怎么做事件流和事件流 UI怎么做Human-in-the-loop、权限与安全怎么做Guardrails与Observability怎么做LangChain和LangGraph在工程里分别扮演什么角色- 技术栈如何从 MVP 演进到生产化系统
- 常见失败模式与排查思路
- 一个可落地的最小架构蓝图
- 给初学者的实施 checklist
阅读顺序
如果你是第一次系统学习 Agent,推荐按下面的顺序读:
- 01-foundations-and-methodology.md
- 02-tools-and-skills.md
- 03-prompt-and-context-engineering.md
- 04-memory-and-rag.md
- 05-planning-and-execution.md
- 06-event-stream-and-ui.md
- 07-langchain-and-langgraph.md
- 08-human-in-the-loop-and-security.md
- 09-guardrails-and-observability.md
- 10-architecture-and-tech-stack.md
- 99-references.md
章节覆盖检查
为了避免“说要写这些,但实际没覆盖到”,这里把核心主题和对应章节做一个映射:
-
什么是 Agent,和普通 LLM / RAG / Workflow 的区别
对应:01-foundations-and-methodology.md -
Agent 系统的核心组成:模型、Prompt、Planning、Memory、Tools、Skills、事件流、UI、Guardrails、Observability
对应:01-foundations-and-methodology.md -
一套完整的方法论:从需求定义到上线治理
对应:01-foundations-and-methodology.md、10-architecture-and-tech-stack.md -
Tools 系统怎么设计
对应:02-tools-and-skills.md -
Skills 系统怎么设计
对应:02-tools-and-skills.md -
Memory 系统怎么设计
对应:04-memory-and-rag.md -
规划与执行系统怎么设计
对应:05-planning-and-execution.md -
事件流与事件流 UI 怎么设计
对应:06-event-stream-and-ui.md -
Human-in-the-loop、权限与安全怎么做
对应:08-human-in-the-loop-and-security.md -
Guardrails、Observability 怎么做
对应:09-guardrails-and-observability.md -
技术栈怎么选,什么时候别过度设计
对应:10-architecture-and-tech-stack.md -
常见失败模式与排查思路
对应:10-architecture-and-tech-stack.md -
一个可落地的最小架构蓝图
对应:10-architecture-and-tech-stack.md -
给初学者的实施 checklist
对应:10-architecture-and-tech-stack.md
这套资料想解决什么问题
很多人学习 Agent,会卡在下面几种典型困境里:
- 只知道写 Prompt,但不知道系统为什么不稳定
- 知道 Tool Calling,但不会设计一套可维护的 Tools 平台
- 听说过 RAG,但只会“向量检索 + 拼 Prompt”
- 会跑 LangChain Demo,但不知道什么时候该用 LangGraph
- 会做聊天流式输出,但不会设计事件流和状态恢复
- 知道一些零散术语,但缺少完整的工程方法论
这套资料的目标,就是把这些零散知识拼成一张完整地图。
使用方式建议
你可以把这套资料当作三种用途:
- 学习资料
- 面试复习提纲
- 设计 Agent 系统时的工程检查清单
如果你正在准备面试,建议每一章至少做两件事:
- 先用自己的话复述“概念是什么”
- 再尝试回答“为什么工程上要这样设计”
能把这两层都讲清楚,通常就不只是“背概念”,而是真的理解了。
一个总提醒
Agent 工程最容易犯的错,是把所有问题都归结为“Prompt 不够好”。
真实世界里,Agent 失败往往不是因为模型不会说,而是因为系统没有把:
- 正确的上下文
- 合适的工具
- 清晰的状态
- 稳定的执行路径
- 可恢复的事件流
- 可观察的日志与评估
传给模型并管理好。
换句话说:
Agent 工程的核心不是写一句神奇 Prompt,而是设计一个可靠的、可恢复的、可观测的、可扩展的系统。